#ifndef __APP_BUFFER_H__
#define __APP_BUFFER_H__

#include "log.h"
#include <string.h>
#include <stdio.h>
#include "stdlib.h"
#include "pthread.h"
#include <unistd.h>

typedef struct
{
    char* ptr;//缓冲区头指针
    int total_size;//缓冲区总空间大小
    int offset;//内容起始偏移量
    int len;//数据内容长度
    pthread_mutex_t lock;//互斥锁
}Buffer;


//初始化环形缓冲区 指定环形缓冲区的大小
Buffer* APP_Buffer_Init(int size);

//写数据
void APP_Buffer_Write(Buffer* buff,char* data,int Write_len);

//读数据  成功:返回读取的字节长度  失败: -1
int APP_Buffer_Read(Buffer* buff, char* data,int Read_len);

//销毁环形缓冲区
void APP_Buffer_Free(Buffer* buff);

#endif
